Using Proprietary SIP X-AC-Action Header

You can use AudioCodes proprietary SIP header X-AC-Action in Message Manipulation rules to trigger certain actions. These actions can be used to support, for example, interworking of SIP-I and SIP endpoints for the ISUP SPIROU variant (see Enabling Interworking of SIP and SIP-I Endpoints).

The following actions are supported by the X-AC-Action header:

To disconnect a call (optionally, after a user-defined time):
X-AC-Action: 'disconnect'
X-AC-Action: 'disconnect;delay=<time in ms>'
To resume a previously suspended call:
X-AC-Action: 'abort-disconnect'
To automatically reply to a message without forwarding the response to the other side:
X-AC-Action: 'reply'
To automatically reply to a message with a specific SIP response without forwarding the response to the other side:
X-AC-Action: 'reply;response=<response code, e.g., 200>'
To override device's handling of SIP REFER messages, which is configured by the 'Remote REFER Mode' parameter. The X-AC-Action header can be added to the incoming SIP REFER request using Message Manipulation rules. This is useful if you don’t want the settings of this parameter to apply to all calls that are associated with the IP Profile. For example, if you configure the 'Remote REFER Mode' parameter to Handle Locally, all incoming SIP REFER requests associated with the IP Profile are terminated at the device. However, you can configure a Message Manipulation rule with the proprietary header to override this parameter setting and allow the device to forward the REFER requests as is for calls with a specific URI, for example. You can configure Message Manipulation rules to add this X-AC-Action header for REFER handling, with one of the following values:
To allow the device to forward the REFER as is, regardless of the 'Remote REFER Mode' parameter settings:
X-AC-Action: 'use-config;refer-behavior=regular'
To allow the device to handle (terminate) the REFER request regardless of the 'Remote REFER Mode' parameter settings:
X-AC-Action: 'use-config;refer-behavior= handle-locally'
To switch to a different IP Profile for the call (re-INVITE only), as defined in the IP Group:
X-AC-Action: 'switch-profile;profile-name=<IP Profile Name>'
X-AC-Action: 'switch-profile;profile-name=<IP Profile Name>;reason=<PoorInVoiceQuality or PoorInVoiceQualityFailure>'

If the IP Profile name contains one or more spaces (e.g., "ITSP NET"), enclose the name in double quotation marks, for example:

X-AC-Action: 'switch-profile;profile-name="ITSP NET"'

The X-AC-Action header for triggering the actions disconnect, abort-disconnect, and reply is supported only for the following SIP messages (methods):

re-INVITE
UPDATE
INFO
REFER

For example, to use the X-AC-Action header to switch IP Profiles from "ITSP-Profile-1" to "ITSP-Profile-2" during a call for an IP Group (e.g., IP PBX) if the negotiated media port changes to 7550, perform the following configuration:

1. In the IP Profiles table, configure two IP Profiles ("ITSP-Profile-1" and "ITSP-Profile-2").
2. In the IP Groups table, assign the main IP Profile ("ITSP-Profile-1") to the IP Group using the 'IP Profile' parameter.
3. In the Message Manipulations table (see Configuring SIP Message Manipulation), configure the following manipulation rule:
Manipulation Set ID: 1
Message Type: reinvite.request
Condition: body.sdp regex (.*)(m=audio 7550 RTP/AVP)(.*)
Action Subject: header.X-AC-Action
Action Type: Add
Action Value: 'switch-profile;profile-name=ITSP-Profile-2'
4. In the IP Groups table, assign the Message Manipulation rule to the IP Group, using the 'Inbound Message Manipulation Set' parameter.

In the above example, if the device receives from the IP Group a re-INVITE message whose media port value is 7550, the device adds the SIP header "X-AC-Action: switch-profile;profile-name=ITSP-Profile-2" to the incoming re-INVITE message. As a result of receiving this manipulated message, the device starts using IP Profile "ITSP-Profile-2" instead of "ITSP-Profile-1", for the IP Group.